<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

	/**
	* 페이지 네비게이션
	*
	* @access	public
	* @param    current_page 현재 페이지 번호
	* @param    total_cnt 총 결과 수
	* @param    page_size 페이지당 글 수
	* @param    block_size 네비영역의 한 블록에 보여줄 페이지 수
	* @param    uri 링크를 걸 URI
	* @return	Array 네비게이션을 구성할 값
	*/
	function page_navigation($current_page, $total_cnt, $page_size, $block_size, $uri = '') {
		// 총 페이지 수
		$page_count = ceil($total_cnt / $page_size);
		log_message('debug', "@@ page_count=".$page_count);
		
		// 시작 Row와 끝 Row
		$start_row = ($current_page-1) * $page_size;
		$end_row = $start_row + $page_size -1;
		$end_row = $end_row < $total_cnt ? $end_row : $total_cnt -1;

		// 네비게이션의 시작 번호와 끝번호
		$start_page_num = floor(($current_page-1) / $block_size) * $block_size +1;
		$end_page_num = $start_page_num + $block_size -1;
		$end_page_num = $end_page_num > $page_count ? $page_count : $end_page_num;
		
		// 이전, 다음 번호
		$prev_page = $current_page > 1 ? $current_page-1 : '';
		$next_page = $current_page < $page_count ? $current_page+1 : '';
		
		// 이전, 다음10개
		$jump_prev_page = $block_size < $start_page_num ? $start_page_num-1 : '';
		$jump_next_page = $page_count > $end_page_num ? $end_page_num+1 : '';
		
		$navi['current_page']    = $current_page;
		$navi['page_count']      = $page_count > $end_page_num ? $page_count : '';
		$navi['jump_prev_page']  = $jump_prev_page;
		$navi['jump_next_page']  = $jump_next_page;
		
		// 네비게이션 숫자 부분
		$page_nums = array();
		
		for ($i = 0, $page_no = $start_page_num; $page_no <= $end_page_num; $i++, $page_no++) {
			$page_nums[$i]['page_no'] = $page_no;
		}
		$navi['page_nums'] = $page_nums;
		
		return $navi;
	}
	